Three dimensional (3D) character animation has seen significant growth in terms of use and diffusion in the entertainment industry in the last decade. In most 3D computer animation systems, an animator defines a set of animation variables, or Avars that form a simplified representation of a 3D character's anatomy. The Avars are often organized in a hierarchical model and, therefore, the collection of Avars for a 3D character can be referred to as its hierarchical model. Motion of the 3D character can be defined by changing the values of Avars over time. The value of an Avar over time is referred to as the Avar's motion curve, and a sequence of motion can involve defining the motion curves for hundreds of Avars. The motion curves of all of a 3D character's Avars during a sequence of motion are collectively referred to as motion data.
An animator can directly animate a 3D character by manually defining the motion curves for the 3D character's Avars using an off-line software tool. Motion capture of a human or animal during a desired sequence of motion can also be used to generate motion data. Motion capture is a term used to describe a process of recording movement and translating the movement onto a digital model. A 3D character can be animated using the motion capture process to record the movement of points on the human or animal that correspond to the Avars of the 3D character during the motion. Motion capture has traditionally been performed by applying markers to the human or animal that can be mapped to the Avars of the 3D character. However, markerless techniques have recently been developed that enable the animation of 3D characters using mesh based techniques. Markerless motion capture using mesh based techniques is described in U.S. Patent Publication No. 2008/0031512 entitled “Markerless Motion Capture System” to Mundermann et al., the disclosure of which is incorporated by reference herein in its entirety.
Animating a 3D character manually or using motion capture can be time consuming and cumbersome. As discussed above, the manual definition of a character's motion can involve a laborious process of defining and modifying hundreds of motion curves until a desired motion sequence is obtained. Motion capture requires the use of complex equipment and actors. In the event that the captured motion is not exactly as desired, the animator is faced with the choice of repeating the motion capture process, which increases cost, or attempting to manually edit the motion curves until the desired motion is obtained, which is difficult. The inability of animators to rapidly and inexpensively obtain complex motion data for a 3D character can represent a bottleneck for the generation of 3D animations.